
        <html>
			<head>
			     <title>CTF中比较好玩的stego - 泡泡君</title>
				 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
			</head>
			<body>
				<h1>原文地址:<a href="http://drops.wooyun.org/tips/16041">http://drops.wooyun.org/tips/16041</a></h1>
				
      <p>
        <h1>0x00 引子</h1>

<hr />

<p>最近国内各种CTF层出不穷，看出来国家对于信息安全终于决定下重本了。因为本人比较喜欢研究怎么藏东西，所以一开始在CTF队组建的时候，就负责了misc（杂项）中的Stego部分，中文翻译过来是“隐写术”。<br />
乌云上也有好几篇关于隐写术的文章，其中以AppLeU0大大的那篇<a href="http://drops.wooyun.org/tips/4862">隐写术总结</a>最为经典，还有Gump大大的<a href="http://drops.wooyun.org/tips/12614">数据隐藏技术</a>。在这儿，本菜鸟也想和大家分享在CTF中见到的比较好玩的stego题目。写的不好，请大大们多多包涵。</p>

<h1>0x01 什么叫隐写术？</h1>

<hr />

<p>隐写术，在我们的生活中既熟悉而又陌生。记得童年回忆《猫和老鼠》有关于“隐写术”的这一集：Jerry有一天在玩耍的时候，不小心往自己的身上涂了一种“神奇墨水”，然后把自己藏了起来，还成功的把Tom戏弄一通并赶走了Tom。这种“神奇“的墨水，叫“隐形墨水”，写到纸上之后需要特殊处理才可以看得到对方想要给我们传达的信息。</p>

<!--more-->

<p><img src="http://static.wooyun.org//drops/20160520/2016052010322839181.png" alt="Tom_&amp;_Jerry" /></p>

<p>同样的，在信息安全中，隐写术也是举足轻重的一块领域，从我们最早接触到的图种（copy /b 1.jpg+1.torrent 1.jpg），到最近有事没事就上个头条的locky，看个图片就中招的<a href="http://stegosploit.info/">stegosploit</a>，图片木马Stegoloader，还有就是最近三大高危CVE之一CVE-2016-3714（ImageMagick的，linux下用于处理图像的一个应用），然后也有CHM打造后门，等等。总的来说，就和藏东西似的，能藏就藏，而我们就是要去寻找这种蛛丝马迹。</p>

<h1>0x02 常用工具</h1>

<hr />

<p>在CTF中，老司机们可能更偏向于用UE/Winhex一类的16进制的编辑器去打开待分析文件，然后通过拼写文件头（嗯。常用的文件头有几类？）然后blah blah的解决了，也有一言不合就用脚本来解决的。然而，新手们尤其是像我这样的菜鸟们，就比较喜欢用工具先分析一下有什么样的发现，这时候，为什么不考虑使用binwalk呢？早年在freebuf上也有binwalk的身影。寒假刷XCTF的OJ的时候，binwalk用起来很方便，但是也有不方便的时候。<br />
我要想藏个字符啥的，这个也是binwalk看不出来的。记得最近的某CTF曾经出过这道题：</p>

<p><img src="http://static.wooyun.org//drops/20160520/2016052010304825117.png" alt="misc200" /></p>

<p>你用binwalk也没用，人家提示的是stegdetect，和表情包里的链接还有压缩包都没关系。后来大概是因为这张图的缘故，还有了这篇文章：<a href="http://drops.wooyun.org/tips/15661">深入理解JPEG图像格式Jphide隐写</a><br />
关于图片和流量分析的隐写可以参考开头的安利，这儿主要讨论关于mp4等其他格式的。</p>

<p>mp4的情况可以考虑使用ffmpeg，ffmpeg可以把一帧帧的视频分割为一张张的图片。具体怎么使用可以在linux下man ffmpeg。</p>

<p><img src="http://static.wooyun.org//drops/20160520/2016052010305075894.png" alt="mp4" /></p>

<h1>0x03 几道可以分辨恶趣味的题目</h1>

<hr />

<p>今年被吊打过的CTF里，我们可以发现隐写术不那么单调了，体现了隐写术的特点之“物所能及不能藏”。不光是常见的jpg、tiff、png，</p>

<p><img src="http://static.wooyun.org//drops/20160520/2016052010305269431.png" alt="exif" /></p>

<p>你真的舍得分开它吗？出题点不在这儿，在乎Exif也。</p>

<p><img src="http://static.wooyun.org//drops/20160520/2016052010305418852.png" alt="exif-1" /></p>

<p>还有这道：先看左边（用pngcheck来分析的）</p>

<p><img src="http://static.wooyun.org//drops/20160520/2016052010305758324.png" alt="odrrere" /></p>

<p>这货处理处理就变了：</p>

<p><img src="http://static.wooyun.org//drops/20160520/2016052010305815843.png" alt="odrrere_1" /></p>

<p>然后就耐心重排IDAT部分的模块即可。</p>

<p>此外新的题目还涉及到了其它格式的诸如mp4，pdf，pcap（涉及到流量分析），midi，exe，TTL等等，此外，我还真没见过往vmdk里藏东西的题目（如果有的话，也是会考察选手的磁盘分析能力吧）</p>

<ul>
<li><p>word</p>

<p><img src="http://static.wooyun.org//drops/20160520/2016052010305910494.png" alt="word" /></p>

<p>感觉是会出现在宏或者说是隐藏字符这些小细节上，果然细节决定成败啊……</p></li>
<li><p>pdf</p>

<p>这儿可以给大家推荐<a href="http://wbstego.wbailer.com/">wbStego4open</a>这个工具，目前出过的PDF的stego中还不算是很难，一般是以字符串为主。</p></li>
<li><p>pcap</p>

<p>这儿会考察选手们的流量分析能力，当然小白们有个特别偏的方法：foremost+strings，运气好的话参考风云杯2016的misc06。</p></li>
<li><p>wav</p>

<p>估计有很多人会记得这张图吧？还给了一首《渡口》</p>

<p><img src="http://static.wooyun.org//drops/20160520/2016052010310023864.jpg" alt="misc3-346e2a33" /></p>

<p>说到wav，之前看别人的WP囤了这么几张图：</p>

<p><img src="https://www.asafety.fr/wp-content/uploads/01-2.png" alt="wav_code" /></p>

<p><img src="https://www.asafety.fr/wp-content/uploads/03-2.png" alt="wav_code1" /></p>

<p><img src="https://www.asafety.fr/wp-content/uploads/Braille.jpg" alt="code_ed" /></p>

<p>看来脑洞还是蛮大的</p></li>
<li><p>midi</p>

<p><img src="http://static.wooyun.org//drops/20160520/2016052010310533107.png" alt="mid" /></p></li>
<li><p>avi</p>

<p>avi的编码标准不同导致的文件体积太大，比赛中应该不会放那么大的视频文件供CTFer下载吧？但谁又能说的准呢？给大家安利一个MSU VideoStego，是用于分析avi文件的小工具。</p></li>
<li><p>exe</p>

<p>exe里藏东西其实还涉及到病毒行为分析，有可能是藏在壳内，也有可能是其他地方，具体情况可以使用IDA或者OD还有C32Asm来进行跟进分析。</p></li>
<li><p>mp4</p>

<p><img src="http://static.wooyun.org//drops/20160520/2016052010305075894.png" alt="catvideo" /></p></li>
</ul>

<p>在刚刚结束的风云杯2016上，比较有意思的一道misc04是关于加密与解密，同时还涉及到stego，先是zip伪加密破解，然后得到一张图片。尔等菜鸟们用binwalk分辨出了文件头分出来四张图片，嗯？然后？其实在赛后处理这张图发现了一个诡异的地方：</p>

<p><img src="http://static.wooyun.org//drops/20160520/2016052010310855394.png" alt="xianjian" /></p>

<p>然后就没然后了……</p>

<p>P.s. 老司机们看透了一切，早早在这儿打好了埋伏，这一次是使用了zip伪加密+stego+base32，杀了个misc的回马枪……</p>

<h1>0x04 后记</h1>

<hr />

<p>这一块可以深挖的东西还有很多，都是特别的有意思，如果隐写术和密码学结合起来，也是一道非常有意思的题目，也有见到和算法结合起来的"png number"（png套路蛮多的）。<br />
个人感觉如果说是顺着CTF这一块往下挖的话，也挺考验选手自身的基础的。</p>      </p>
    
			</body>
		</html>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          